//Source file: D:\\test\\com\\ce\\pms\\system\\custservice\\service\\ICustEventNatureService.java

package com.ce.pms.system.custservice.service;

import java.util.List;

import com.ce.pms.base.vo.SearchVO;
import com.ce.pms.system.custservice.vo.CustEventNatureVO;
import com.sitechasia.webx.core.support.Page;


/**
 * 描述：事件性质service
 * @author 王浩羽
 *
 */
public interface ICustEventNatureService 
{
	/**
	 * 方法描述:查询全部客服事件性质
	 * @author: 王浩羽
	 * Create on: 2008-12-18
	 * @return
	 * Edit author:
	 * Edit on:
	 * 修改原因:
	 */
	public List<CustEventNatureVO> queryAllCustEventNature();
	
   /**
    * 查询客服事件性质,带排序功能
    * @param currentPage
    * @param pageSize
    * @return
    */
   public Page queryCustEventNatureListByPage(SearchVO searchVO);
   
   /**
    * 增加事件性质
    * 注：名称不能有重复
    * @param eventNatureVO
    * @return
    */
   public boolean addCustEventNature(CustEventNatureVO eventNatureVO);
   
   /**
    * 修改客户事件性质
    * 注：用户可以对系统中的已有事件性质进行修改，如果事件性质被引用则事件性质名称是不允许修改的，可以修改描述和显示序号。
    * @param eventNatureVO
    * @return
    */
   public boolean editCustEventNature(CustEventNatureVO eventNatureVO);
   
   /**
    * 删除客户事件性质
    * 对于无意义的数据，可以将其删除。但是，若事件性质已被引用则不允许删除。
    * @param eventNatureId 客户事件性质ID
    * @return
    */
   public boolean deleteCustEventNatureById(Long eventNatureId);
   
   public CustEventNatureVO findObjectVOById(Long id);
   
   /**
    * 功能描述:  检查名称是否已经存在，存在则抛出异常<br>
    * @param name
    * Create author: 王浩羽 <br>
    * Create on:Dec 25, 2008  <br>
    * Edit author:  <br>
    * Edit on:    <br>
    * Why:     <br>
    */
   public void checkExistenceByName(String name);
}
